Enhancing Availability and Security Through Failure-Oblivious Computing
نویسندگان
چکیده
We present a new technique, failure-oblivious computing, that enables programs to continue to execute through memory errors without memory corruption. Our safe compiler for C inserts checks that dynamically detect invalid memory accesses. Instead of terminating the execution or throwing an exception, the generated code simply discards invalid writes and manufactures values to return for invalid reads, enabling the program to continue its normal execution. We have applied failure-oblivious computing to a set of widely-used programs that are part of the Linux-based opensource interactive computing environment. Our results show that our techniques 1) make these programs invulnerable to known security attacks that exploit memory errors, and 2) enable the programs to continue to operate successfully to service legitimate requests and satisfy the needs of their users even after attacks trigger their memory errors.
منابع مشابه
Enhancing Server Availability and Security Through Failure-Oblivious Computing
In this paper the authors contribute a new technique of failure-oblivious computing. It aims to enable the server to execute through memory errors without memory corruption. The failure-oblivious computing is a mechanism to discard invalid writes and manufacture values to return for the invalid reads, and enable the server to continue its normal execution path, instead of terminating or throwin...
متن کاملNO-SIGSEGV: Fault Tolerance and Security in Servers
In this paper, we present a technique for enhancing server availability and security. Our approach is based on failure-oblivious computing developed by Martin Rinard and other researchers at the MIT Computer Science and Artificial Intelligence Laboratory. The main theme of the paper is “Convert memory errors into input errors”. Failure-Oblivious Computing essentially consists of two components ...
متن کاملEnhancing Server Availability and Security Through Failure-Oblivious Computing
We present a new technique, failure-oblivious computing, that enables servers to execute through memory errors without memory corruption. Our safe compiler for C inserts checks that dynamically detect invalid memory accesses. Instead of terminating or throwing an exception, the generated code simply discards invalid writes and manufactures values to return for invalid reads, enabling the server...
متن کاملExhaustive Exploration of the Failure-oblivious Computing Search Space
High-availability of software systems requires automated handling of crashes in presence of errors. Failure-oblivious computing is one technique that aims to achieve high availability. We note that failure-obliviousness has not been studied in depth yet, and there is very few study that helps understand why failureoblivious techniques work. In order to make failure-oblivious computing to have a...
متن کاملFailure-Oblivious Computing and Boundless Memory Blocks
Memory errors are a common cause of incorrect software execution and security vulnerabilities. We have developed two new techniques that help software continue to execute successfully through memory errors: failure-oblivious computing and boundless memory blocks. The foundation of both techniques is a compiler that generates code that checks accesses via pointers to detect out of bounds accesse...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2003